﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Globalization;
using System.Web.Mvc;
using System.Web.Security;
using AuditModel;
using System.Linq;


namespace AuditWeb.Models
{
    public class AdminArchiveModel
    {
        [Display(Name = "ID", ResourceType = typeof(AuditResources.Archive))]
        public string ArchiveId { get; set; }
        [Display(Name = "CountyCode", ResourceType = typeof(AuditResources.Archive))]
        public string CountyCode { get; set; }
        [Display(Name = "SubjectID", ResourceType = typeof(AuditResources.Archive))]
        public int SubjctId { get; set; }
        [Display(Name = "AnnualEventID", ResourceType = typeof(AuditResources.Archive))]
        public string AnnualEventId { get; set; }
        [Required]
        [Display(Name = "DateType", ResourceType = typeof(AuditResources.ViewModels))]
        public string DateType { get; set; }
        [Required]
        [DataType(DataType.DateTime)]
        [Display(Name = "Date", ResourceType = typeof(AuditResources.ViewModels))]
        public DateTime Date { get; set; }
        [Required]
        [DataType(DataType.DateTime)]
        [Display(Name = "Date", ResourceType = typeof(AuditResources.ViewModels))]
        public DateTime Time { get; set; }
    }

    public class PWCountyClassDate
    {
        public DateTime ClassDate { get;set;}
        public string CountyName { get; set; }
        public string CountyCode { get; set; }
    }

    public class CountPercentage
    {
        public string Name { get; set; }
        public decimal Percentage { get; set; }
    }

    public class ExpertJudgeModel
    {

        [Display(Name = "Username", ResourceType = typeof(AuditResources.Account))]
        public string UserName { get; set; }

        [Required]
        [DataType(DataType.EmailAddress)]
        [Display(Name = "Email", ResourceType = typeof(AuditResources.Account))]
        public string Email { get; set; }

        [Required]
        [StringLength(100, ErrorMessageResourceName = "PasswordErrorMessage", ErrorMessageResourceType = typeof(AuditResources.Account), MinimumLength = 6)]
        [DataType(DataType.Password)]
        [Display(Name = "Password", ResourceType = typeof(AuditResources.Account))]
        public string Password { get; set; }

        [DataType(DataType.Password)]
        [Display(Name = "ConfirmPassword", ResourceType = typeof(AuditResources.Account))]
        [Compare("Password", ErrorMessageResourceName = "ConfirmPasswordErrorMessage", ErrorMessageResourceType = typeof(AuditResources.Account))]
        public string ConfirmPassword { get; set; }

        public ExpertJudge ExpertJudge { get; set; }
        public string AnnualEventID { get; set; }

    }

    public class ExpertJudgeUpdateModel
    {

        [Display(Name = "Username", ResourceType = typeof(AuditResources.Account))]
        public string UserName { get; set; }

        [Required]
        [DataType(DataType.EmailAddress)]
        [Display(Name = "Email", ResourceType = typeof(AuditResources.Account))]
        public string Email { get; set; }     

        public ExpertJudge ExpertJudge { get; set; }
        public string AnnualEventID { get; set; }

    }

    public class ExpertJudgeContactInfo
    {
        [Display(Name="ContactAddress",ResourceType=typeof(AuditResources.ExpertJudge))]
        [Required]
        public string ContactAddress { get; set; }
        [Display(Name = "ZipCode", ResourceType = typeof(AuditResources.ExpertJudge))]
        [Required]
        public string ZipCode { get; set; }
    }


}
